Set up data for NMDS
- split community matrix into two dataframes- one for grouping variables and one for species biomass
- calculate dissimilarity matrix with Bray-Curtis distances
#set up final grouping data into dataframe
ME_group_data<-trawl_data_arrange[, c(1,2,3,55,56,57,58)]
ME_NMDS_data<-as.matrix(trawl_data_arrange[,4:53])
#calculate the distance matrix
ME_NMDS_distance<- vegdist(ME_NMDS_data, method="bray")
Run the NMDS and extract scores
- change in community composition
- uses rank order
- stress < 0.2 is good, < 0.1 is great, <0.05 is excellent representation in reduced dimensions
ME_NMDS=metaMDS(ME_NMDS_distance, # Our community-by-species matrix
k=2, # The number of reduced dimensions
method="bray",
trymax=200) #increase iterations
## Run 0 stress 0.1621597
## Run 1 stress 0.1662396
## Run 2 stress 0.1626536
## ... Procrustes: rmse 0.01054903 max resid 0.1362254
## Run 3 stress 0.1790456
## Run 4 stress 0.1666048
## Run 5 stress 0.1659049
## Run 6 stress 0.1621603
## ... Procrustes: rmse 0.0002328049 max resid 0.002905865
## ... Similar to previous best
## Run 7 stress 0.1784884
## Run 8 stress 0.1742627
## Run 9 stress 0.1662399
## Run 10 stress 0.1621601
## ... Procrustes: rmse 0.0002492592 max resid 0.003221247
## ... Similar to previous best
## Run 11 stress 0.1742638
## Run 12 stress 0.174263
## Run 13 stress 0.1741766
## Run 14 stress 0.1661965
## Run 15 stress 0.1659039
## Run 16 stress 0.162161
## ... Procrustes: rmse 0.0001456678 max resid 0.001623482
## ... Similar to previous best
## Run 17 stress 0.1661067
## Run 18 stress 0.1659045
## Run 19 stress 0.1621601
## ... Procrustes: rmse 0.0001682695 max resid 0.002144003
## ... Similar to previous best
## Run 20 stress 0.1660781
## *** Solution reached
#extract NMDS scores for ggplot
data.scores = as.data.frame(scores(ME_NMDS))
#add columns to data frame
data.scores$Stratum = trawl_data_arrange$Stratum
data.scores$Region = trawl_data_arrange$Region
data.scores$Year = trawl_data_arrange$Year
data.scores$Season= trawl_data_arrange$Season
data.scores$Year_groups= trawl_data_arrange$YEAR_GROUPS
data.scores$Year_decades= trawl_data_arrange$YEAR_DECADES
data.scores$Region_new=trawl_data_arrange$REGION_NEW
data.scores$Region_year=trawl_data_arrange$REGION_YEAR
data.scores$Season_year=trawl_data_arrange$SEASON_YEAR